package simpSync.model;

import java.util.ArrayList;
import java.util.List;
import javafx.scene.Node;

/**
 * Representa o modelo SimpSync. Este objeto possui toda as informações sobre o XML, mas
 * em forma de objeto, pra que possa ser melhor trabalhado. 
 */
public class SimpleSync {
    private List<Region> regions=new ArrayList<>();
    private List<Media> medias=new ArrayList<>();
    private List<Link> links=new ArrayList<>();
    private List<Node> nodes = new ArrayList<>();

    /**
     * @return the layouts
     */
    public List<Region> getRegions() {
        return regions;
    }

    /**
     * @return the medias
     */
    public List<Media> getMedias() {
        return medias;
    }

    /**
     * @return the links
     */
    public List<Link> getLinks() {
        return links;
    }
    
    
    /**
     * É uma referencia a todos os nodes criados no Pane,
     * para que possa ser obtido de forma mais rápida.
     * @return the nodes
     */
    public List<Node> getNodes() {
        return nodes;
    }

    /**
     * Retorna o Node que está contido em uma region
     * @param source
     * @return 
     */
    public Node getNode(String source) {
        for (Node node : nodes) {
            if (node.getId().equals(source)){
                return node;
            }
        }
       return null;
    }
}
